﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlServerCe;
using System.Data;



namespace MichaelDryden.VideoLibrary.Core
{
    public class DatabaseEngine : IDatabaseEngine
    {

        private SqlCeEngine sqlEngine;

        string IDatabaseEngine.LocalConnectionString
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        string IDatabaseEngine.Compact(string connectionString)
        {
            throw new NotImplementedException();
        }

        void IDatabaseEngine.CreateDatabase()
        {
            throw new NotImplementedException();
        }

        void IDatabaseEngine.Repair(string connectionString, RepairOption options)
        {
            throw new NotImplementedException();
        }

        void IDatabaseEngine.Shrink()
        {
            throw new NotImplementedException();
        }

        bool IDatabaseEngine.Verify()
        {
            throw new NotImplementedException();
        }


        #region IDisposable Members
        // Implement IDisposable.
        // Do not make this method virtual.
        // A derived class should not be able to override this method.
        public void Dispose()
        {
            Dispose(true);
            // This object will be cleaned up by the Dispose method.
            // Therefore, you should call GC.SupressFinalize to
            // take this object off the finalization queue
            // and prevent finalization code for this object
            // from executing a second time.
            GC.SuppressFinalize(this);
        }

        // Dispose(bool disposing) executes in two distinct scenarios.
        // If disposing equals true, the method has been called directly
        // or indirectly by a user's code. Managed and unmanaged resources
        // can be disposed.
        // If disposing equals false, the method has been called by the
        // runtime from inside the finalizer and you should not reference
        // other objects. Only unmanaged resources can be disposed.
        private bool disposed;
        private void Dispose(bool disposing)
        {
            // Check to see if Dispose has already been called.
            if (!this.disposed)
            {
                // If disposing equals true, dispose all managed
                // and unmanaged resources.
                if (disposing)
                {
                    // TODO: Dispose managed resources.
                }

                // Call the appropriate methods to clean up
                // unmanaged resources here.
                // If disposing is false,
                // only the following code is executed.

                // Note disposing has been done.
                disposed = true;

            }
        }

        #endregion
    }
}
